/** layui-v2.5.6 MIT License By https://www.layui.com */
;
layui.define("jquery",
    function(e) {
        "use strict";
        var a = layui.jquery,
            i = {
                config: {},
                index: layui.rate ? layui.rate.index + 1e4: 0,
                set: function(e) {
                    var i = this;
                    return i.config = a.extend({},
                        i.config, e),
                        i
                },
                on: function(e, a) {
                    return layui.onevent.call(this, n, e, a)
                }
            },
            l = function() {
                var e = this,
                    a = e.config;
                return {
                    setvalue: function(a) {
                        e.setvalue.call(e, a)
                    },
                    config: a
                }
            },
            n = "rate",
            t = "layui-rate",
            o = "layui-icon-rate",
            s = "layui-icon-rate-solid",
            u = "layui-icon-rate-half",
            r = "layui-icon-rate-solid layui-icon-rate-half",
            c = "layui-icon-rate-solid layui-icon-rate",
            f = "layui-icon-rate layui-icon-rate-half",
            v = function(e) {
                var l = this;
                l.index = ++i.index,
                    l.config = a.extend({},
                        l.config, i.config, e),
                    l.render()
            };
        v.prototype.config = {
            length: 5,
            text: !1,
            readonly: !1,
            half: !1,
            value: 0,
            theme: ""
        },
            v.prototype.render = function() {
                var e = this,
                    i = e.config,
                    l = i.theme ? 'style="color: ' + i.theme + ';"': "";
                i.elem = a(i.elem),
                parseInt(i.value) !== i.value && (i.half || (i.value = Math.ceil(i.value) - i.value < .5 ? Math.ceil(i.value) : Math.floor(i.value)));
                for (var n = '<ul class="layui-rate" ' + (i.readonly ? "readonly": "") + ">", u = 1; u <= i.length; u++) {
                    var r = '<li class="layui-inline"><i class="layui-icon ' + (u > Math.floor(i.value) ? o: s) + '" ' + l + "></i></li>";
                    i.half && parseInt(i.value) !== i.value && u == Math.ceil(i.value) ? n = n + '<li><i class="layui-icon layui-icon-rate-half" ' + l + "></i></li>": n += r
                }
                n += "</ul>" + (i.text ? '<span class="layui-inline">' + i.value + "星": "") + "</span>";
                var c = i.elem,
                    f = c.next("." + t);
                f[0] && f.remove(),
                    e.elemTemp = a(n),
                    i.span = e.elemTemp.next("span"),
                i.setText && i.setText(i.value),
                    c.html(e.elemTemp),
                    c.addClass("layui-inline"),
                i.readonly || e.action()
            },
            v.prototype.setvalue = function(e) {
                var a = this,
                    i = a.config;
                i.value = e,
                    a.render()
            },
            v.prototype.action = function() {
                var e = this,
                    i = e.config,
                    l = e.elemTemp,
                    n = l.find("i").width();
                l.children("li").each(function(e) {
                    var t = e + 1,
                        v = a(this);
                    v.on("click",
                        function(e) {
                            if (i.value = t, i.half) {
                                var o = e.pageX - a(this).offset().left;
                                o <= n / 2 && (i.value = i.value - .5)
                            }
                            i.text && l.next("span").text(i.value + "星"),
                            i.choose && i.choose(i.value),
                            i.setText && i.setText(i.value)
                        }),
                        v.on("mousemove",
                            function(e) {
                                if (l.find("i").each(function() {
                                    a(this).addClass(o).removeClass(r)
                                }), l.find("i:lt(" + t + ")").each(function() {
                                    a(this).addClass(s).removeClass(f)
                                }), i.half) {
                                    var c = e.pageX - a(this).offset().left;
                                    c <= n / 2 && v.children("i").addClass(u).removeClass(s)
                                }
                            }),
                        v.on("mouseleave",
                            function() {
                                l.find("i").each(function() {
                                    a(this).addClass(o).removeClass(r)
                                }),
                                    l.find("i:lt(" + Math.floor(i.value) + ")").each(function() {
                                        a(this).addClass(s).removeClass(f)
                                    }),
                                i.half && parseInt(i.value) !== i.value && l.children("li:eq(" + Math.floor(i.value) + ")").children("i").addClass(u).removeClass(c)
                            })
                })
            },
            v.prototype.events = function() {
                var e = this;
                e.config
            },
            i.render = function(e) {
                var a = new v(e);
                return l.call(a)
            },
            e(n, i)
    });